1. Field of the Invention
The invention relates generally to the field of digital data processing systems, or computer systems, and more specifically to computer workstations.
2. Background
Until recently, computer systems were large, expensive machines, generally too expensive to devote an entire computer system to one person. However, with the development of large and very large scale integrated circuit technology, which in turn provided the microprocessor, providing a computer system to one person has become cost effective. Personal computers and the more advanced computer workstations permit one person to have sole access to his or her computer for many kinds of activities, including word processing, accounting and financial planning, and computer aided design and engineering. In many cases, the personal computers and workstations are connected over a network to a larger minicomputer or mainframe which provides large scale data storage and data base management capabilities and manages such auxiliary equipment as printers and telecommunication interfaces. These arrangements permit sharing of information among users working on the personal computers and workstations. In addition, the larger computer may perform complex or lengthy arithmetic calculations, such as recalculating spreadsheets and processing of engineering simulations.
A computer workstation generally includes a processor, a memory, auxiliary storage such as disk storage, a keyboard for user data entry and a video display for displaying output to the user. In addition, if the workstation is to be used in a network, a network interface will also be included. The processor includes a microprocessor chip and may also include one or more auxiliary processor chips for processing special classes of instructions, most notably floating point instructions. The memory includes a read only portion (ROM) which generally includes the boot portion of the operating system, read/write random access memory (RAM) which is used for program instruction and data storage, including the remainder of the operating system, and a video RAM which stores data depicting the image to be displayed on the video monitor.
When the workstation is initially turned on, the processor initially operates in response to bootstrap instructions from the boot ROM, and enables the remainder of the operating system and other programs and program data to be loaded into the RAM from the disk storage devices. During subsequent program execution, the processor may write data to be displayed into the video RAM. The network interface is also connected to the RAM to enable data from the network to be loaded therein or data to be retrieved therefrom for transmission over the network. Circuits for controlling the video display read the data out of the video RAM and in response to the data generate video signals which are coupled to the video display. Based on the video signals, the video display generates an image for the user.
The processor, disk storage devices, network interface and video control circuits are all connected to write data to or retrieve data from one or more portions of the memory. (User input through the keyboard is typically handled as an interrupt serviced by the processor rather than as a direct transfer to memory.) All portions of the memory, that is, the boot ROM, the RAM and the video RAM typically occupy a single address space, that is, the addresses of the locations in the boot ROM, RAM and video RAM do not overlap. In addition, the disk storage devices and network interface typically include control and status registers which also occupy a portion of the same address space. Thus, if the processor, for example, wishes to perform a transfer with any storage location in the boot ROM, RAM, video RAM or any of the control and status registers in the disk devices or network interface, the address transmitted by the processor during the transfer completely identifies the location.
The video image displayed by the video display unit is in "real time", that is, the generation of the image cannot be delayed without disrupting the image as seen by the viewer. Accordingly, the video control circuitry must be able to retrieve data from the video RAM in a timely manner. However, access to the memory can be impeded by memory requests from the processor, disk devices or network interface. Typically, a workstation includes an arbitration mechanism which arbitrates memory requests among the various devices, that is, the processor, video control circuitry, network interface and disk storage devices, which may be requesting access to memory. However, this requires a complex mechanism to ensure that the video control circuitry has access to the memory, and specifically the video RAM in a timely manner to ensure that the image on the video display is not disrupted.